package work;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;

//给定一个目录名，和一个关键字，输出该目录下所有包含关键字的文件名信息
public class work {
    public static void main(String[] args) {
        System.out.println("===============");
        test01();
        System.out.println("===============");
        test011();
        System.out.println("===============");
        File fi=new File("D:/filedemo");
        test(fi);
    }
    public static void test(File Ffile) {
        if(Ffile.isDirectory())
        {        //判断是否目录，
            File[] files=Ffile.listFiles(new FilenameFilter()
            {
                public boolean accept(File dir,String name)
                {
                    return name.contains("b");
                }
            });
            for(int x=0;x<files.length;x++)
            {
                System.out.println(files[x]);
            }

            File[] files1=Ffile.listFiles();
            for(int x=0;x<files1.length;x++)
            {
                if(files1[x].isDirectory())
                    test(files1[x]);
            }
        }
    }
    /**
     * 文件工具类-file
     */
    public static void test011() {
        //输入一个目录，把目录下所有的文件打印出来
        File file=new File("D:/filedemo");
        File[] subFiles=file.listFiles(new FilenameFilter(){
            //写业务逻辑处理
            @Override
            public boolean accept(File dir, String name) {
                return name.contains("temp");
            }
        });
        for (File sub:subFiles
             ) {
            System.out.println((sub.isDirectory()?"目录:":"文件:")+"--"+sub.getAbsolutePath());
        }
    }
    /**
     * 文件工具类-file
     */
    public static void test01() {
        File file=new File("D:/filedemo/trr");
        System.out.println("目录or文件?"+file);
        System.out.println("getAbsolutePath:"+file.getAbsolutePath());
        System.out.println("getname:"+file.getName());
        if(!file.exists()){
            if(file.isDirectory()){
                //如果是目录，则创建目录
                file.mkdirs();
            }else{
                try {
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
